def DisplayMenu():
    """显示功能菜单"""
    print('''
    0 退出系统
    1 新建用户
    2 显示全部
    3 查询用户
    ''')
def DisplayChildMenu():
    """显示子功能菜单"""
    print("""
    0 返回主菜单
    1 修改用户信息
    2 删除用户信息
    """)

def NewUser():
    """添加新用户信息"""
    name=input("请输入姓名(必填)：")
    phone=input("请输入电话（必填）：")
    qqlink=input("请输入QQ：（回车跳过）")
    dataBase.append({"Name":name,"Phone":phone,"QQ":qqlink})
    print("用户添加成功")


def ShowAll():
    """显示所有用户信息"""
    if(len(dataBase)>0):
        for item in dataBase:
            for k in item:
                print("%s : %s "%(k,item[k]),end=" ")
            print()
    else:
        print("抱歉暂时还没有用户数据!!!")


def FindUser(user=None):
    """查询用户
    :rtype: object
    """
    if user==None:
        print("-"*50)
        name=input("请输入查询的用户名：")
        for item in dataBase:
            if item["Name"]==name:
                for k in item:
                    print("该用户信息为 =》 %s : %s " % (k, item[k]), end=" ")
                    break
            #显示子功能菜单
            while (True):
                DisplayChildMenu()
                doCode=input("请选择你希望执行的指令")
                #修改用户信息
                if(doCode=="1"):
                    user= modifyUser(item)
                    FindUser(user)
                #删除用户
                elif(doCode=="2"):
                    user=item
                    deleteUser(user)
                    break
                    #返回主菜单
                elif(doCode=="0"):
                    break
                else:
                    print("输入的指令有误，请重新输入")

        else:
            print("搜索结束，没有检索到该用户")
    else:
        print("*"*50)
        for k in user:
            print("用户信息为 =》 %s : %s " % (k, user[k]), end=" ")
            break

def deleteUser(user):
    dataBase.remove(user)
    print("用户删除成功，返回主菜单")

def modifyUser(olduser):
    name = input("请输入姓名(必填)：")
    if name==""  or name==None:
        name=olduser["Name"]
    phone = input("请输入电话（必填）：")
    if phone==""  or phone==None:
        phone=olduser['Phone']
    qqlink = input("请输入QQ：（回车跳过）")
    if qqlink=="" or qqlink==None:
        qqlink=olduser["QQ"]
    user={"Name": name, "Phone": phone, "QQ": qqlink}
    dataBase.append(user)
    print("修改成功")
    return user
dataBase=[]
